Message forwarding and retrieval with a single messaging service

ABSTRACT

Embodiments described herein generally relate to a method and system of integrating a user&#39;s voice mail onto a single voice messaging service, e.g., a Unified Messaging (UM) service, such that a client may access this single source for voice mail retrieval, even where such voice mails are from a variety of sources, e.g., work, mobile phone, etc. A user, or the user&#39;s mobile operator, need only agree to accept the service, and the registration and configuration requirements for providing the service and forwarding calls to the service are automatically configured. The user&#39;s existing “speed dial” key or other setting for retrieving voice mail may also be automatically configured to the access number(s) for the service. Configurations may monitor the status of the service and update access and/or forwarding numbers. Voice mail forwarding and settings may also be automatically reverted back to the user&#39;s original service.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/615,022 (now U.S. Pat. No. 8,855,607), entitled “MESSAGE FORWARDINGAND RETRIEVAL WITH A SINGLE MESSAGING SERVICE,” filed on Sep. 13, 2012,which application is a continuation of U.S. patent application Ser. No.12/335,362 (now U.S. Pat. No. 8,295,814), entitled “MESSAGE FORWARDINGAND RETRIEVAL WITH A SINGLE MESSAGING SERVICE,” filed Dec. 15, 2008, theentire disclosures of which are hereby incorporated herein by reference.

BACKGROUND

Voice messaging has become an integral part of businesses' andindividuals' daily lives. Indeed, many consumers have access to amultitude of voice messaging systems. For example, a consumer may havevoice messaging provided by their employer, their own personal mobileoperator, their home landline, etc. These voice messaging systems oftenprovide different features and different types of overall experiencesfor the user. For example, some voice messaging systems now provide acombination of communications, i.e., unified communications, to theuser, such as voice mails and electronic mail (e-mail). Some systemsprovide text transcripts of voice mail messages stored in the voicemessaging system. The disparate features offered by the various voicemessaging systems requires a user to develop a familiarity and knowledgeof each such system to provide efficiency in the use of such systems.However, even such familiarity and knowledge does not diminish the needfor users to spend time checking a variety of sources when they desireto stay up-to-date with their voice messages. Checking a multitude ofsources is time-consuming and also leaves room for error where the usermay forget to check a particular source.

Further, having a multitude of disparate voice messaging services isinefficient for a user in the registration and configuration processbecause these processes require manual manipulation. To register with avoice messaging service, the user provides identification informationand any other information required by the particular voice messagingservice. The user then is required to manually provide the number(s) towhich unanswered, busy, or unavailable calls should be forwarded.Different phone numbers for forwarding may be required for each type ofcall. For example, standard Global System for Mobile communications(GSM) networks require users to forward “busy” calls by dialing*67*[Phone Number]#, *61*[Phone Number]# for “unanswered” calls, and*62*[Phone Number]# for calls when the phone is “unavailable,” or not inreach of the carrier network. Not only does such manual forwardingconsume user time and require knowledge of such requirements on the partof the user, but the problem is exacerbated given that not all mobileoperators follow the same standards for such manual forwarding. Forexample, a single phone number for forwarding may be used by some mobileoperators. The problem is further exacerbated when access numbers forretrieving such messages change based on changes made at the voicemessaging service or if the user changes physical locations and desiresto connect to a voice messaging service that does not require along-distance phone call, for example. The ability of users to respondto such changes and manually register and forward their calls thusbecomes increasingly difficult to accomplish in a timely manner and issubject to rampant errors.

Although specific problems have been addressed in this Background, thisdisclosure is not intended in any way to be limited to solving thosespecific problems.

SUMMARY

Embodiments generally relate to integrating voice mail onto a singlevoice messaging service, such as a Unified Messaging (UM) service, suchthat a client may access the single UM service for retrieval of theuser's voice messages, even where such voice messages come from avariety of sources, e.g., work, personal mobile phone, etc. Automaticconfiguration logic enables the registration of the user'sidentification information with the voice messaging service and theforwarding of calls to the voice messaging service to occurautomatically, without the need for manual intervention or manipulationby the user. A user or the user's mobile operator need only “agree” toaccept the service provided by the particular voice messaging system,and the registration and configuration requirements for providing such aservice are then automatically set up. A user may thus take advantage ofthe features of a preferred voice messaging system, or, at the veryleast, aggregate his/her voice messages into a single service for easeof retrieval without the need for manual set-up of such capabilities. Inanother embodiment, automatic configuration logic also enables theautomatic setting, or programming, of the user's existing “speed dial”key, or other key or button programmed for connecting to voice mail, onthe user's phone to the access number for the selected UM service. Theuser can thus access his/her voice mail messages at the single UMservice with the same speed dial key he/she has previously used foraccessing such messages from the mobile operator network or localdatabase. The user can therefore use his/her existing speed dial key orother button or feature for message retrieval as if the user's messageswere stored by the mobile operator's, or mobile carrier's, voice mailservice. The features and capabilities, or at the very least aggregatedcapabilities, of the selected UM server are thus available to the userwith ease of access and without any interaction or manipulation on theuser's part other than acceptance of the service or acceptance of aservice contract from a mobile operator network providing for suchservice. A further embodiment provides for the system to monitor theconfiguration and to update it automatically in response to any changes,such as, for example, changes to access phone numbers or theavailability of additional new phone numbers. Further yet, an embodimentrelates to reverting the forwarding of the voice messages and of thesettings back to the mobile operator's server, or other server, wherechanged conditions or desires require such rollback.

This Summary is provided to introduce a selection of concepts in asimplified form that is further described below in the DetailedDescription. This Summary is not intended to identify key or essentialfeatures of the claimed subject matter, nor is it intended to be used inany way as to limit the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present disclosure may be more readily described byreference to the accompanying drawings in which like numbers refer tolike items.

FIG. 1 illustrates an exemplary logical representation of an environmentfor communicating voice mail messages to a UM service through automaticregistration and configuration capabilities in accordance with anembodiment of the present disclosure.

FIG. 2 depicts a logical representation of exemplary functionalcomponent modules for the client application residing on the mobilephone and UM servers depicted in FIG. 1 for providing automaticconfiguration capabilities for the forwarding and accessing of voicemail messages in accordance with an embodiment of the presentdisclosure.

FIG. 3 depicts an exemplary flow diagram illustrating the operationalcharacteristics of a process for setting up such provisioning andforwarding of voice mail messages and configuration capabilities asshown in the logical representation in FIG. 1 in accordance with anembodiment of the present disclosure.

FIG. 4 illustrates an exemplary flow diagram illustrating theoperational characteristics of a process for reverting the forwarding ofvoice mail messages from the UM server(s) to the mobile operator orcarrier depicted in FIG. 1 in accordance with an embodiment of thepresent disclosure.

FIG. 5 depicts an exemplary user interface for agreeing to a particularvoice messaging service for the forwarding of a user's phone calls inaccordance with an embodiment of the present disclosure.

FIG. 6 depicts an exemplary computing system upon which embodiments ofthe present disclosure may be implemented.

DETAILED DESCRIPTION

This disclosure will now more fully describe exemplary embodiments withreference to the accompanying drawings, in which specific embodimentsare shown. Other aspects may, however, be embodied in many differentforms and the inclusion of specific embodiments in this disclosureshould not be construed as limiting such aspects to the embodiments setforth herein. Rather, the embodiments depicted in the drawings areincluded to provide a disclosure that is thorough and complete and whichfully conveys the intended scope to those skilled in the art. Dashedlines may be used to show optional components or operations.

Embodiments of the present disclosure generally relate to automaticallyconfiguring a user's voice mail messaging capabilities such that theuser's phone, e.g., mobile device, may communicate with a server capableof receiving voice mails, e.g., a UM server. While this description mayrefer to a UM server, any type of server offering such capabilities maybe used. A “UM” server is offered by way of example only. This automaticconfiguration provides the ability for the user to register with thevoice messaging service and to have the user's phone calls forwarded tothe voice messaging server automatically. This two-part automaticprocess occurs simply by the user “accepting” the service provided bythe UM server. In an embodiment, the user may “accept” the service byanswering positively to a prompt asking the user if he/she would like touse the UM server for voice messaging. In another embodiment, the usermay “accept” the service by agreeing to an overall plan with the user'smobile operator that provides such a service as part of its overallservice plan.

By accepting the service, the UM server and the mobile devicecommunicate with each other such as to automatically obtain registrationinformation for obtaining the service and an access phone number thatdesignates the user's unique voice mail box. The mobile devicecommunicates with the UM server through the use of a client applicationon the mobile device. In providing its unique registration information,the client application provides its phone number to the server so theserver knows which mailbox to use for this particular client applicationand user. The server then sets such number and registers the user/clientapplication if such number is available. Next, the server responds withan access number for the voice mail based on the received phone numberand prefix matching. The server also responds with the number to whichto forward calls based on such prefix matching. Any type of phone callknown to or understood by those of ordinary skill in the art may beforwarded to the server in accordance with embodiments of the presentdisclosure. For example, “busy” calls, or ones in which the line is“busy” as detected by an engaged tone, may be forwarded. As anotherexample, “unanswered” calls may be forwarded, or, in another embodiment,“unavailable” calls may be forwarded. A call is “unavailable” when amobile phone user is out of the network or otherwise unable to obtainservice from the user's network provider.

In providing access and/or forwarding numbers, an embodiment, as noted,provides for the server to use logic to provide an access and/orforwarding number that matches the details, e.g., through prefixmatching, of the mobile device's conditions. For example, in anembodiment, the server may match the area code, the country code, etc.If the user provides an international number, another embodiment mayprovide for the service to provide a forwarding number to anothercountry designated code that is available if an international number isnot possible.

Upon receiving the voice mail forwarding number, the client applicationsets up the forwarding of designated calls to the received number withthe client's mobile operator. The client application uses logic toaccomplish such configuration with the mobile operator so that the callsreceived by the client application are forwarded to the selected UMserver. The user is not involved in such a configuration process.Rather, programmed logic at the client application provides thenecessary processing and communications for accomplishing thisconfiguration automatically.

In another embodiment, communications between the client application andthe UM server enable the client application to ensure that it is usingthe most appropriate, or best, access number based on the clientapplication's area code, country code, etc., e.g., through continual orperiodic prefix matching. If any changes occur at the voice mail server,for example, the server will forward a new access number and forwardingnumber to the client application. In another embodiment, changes at theclient application may prompt the server to provide a different accessnumber and/or forwarding number. For example, if the user changescountries, the UM server may provide international access and forwardingnumbers to the client application. In another embodiment, an accessnumber is sent to client application without requiring it to be the mostappropriate or “best” access number, e.g., providing an “available”number.

Thus, a further embodiment provides for the system to monitor theconfiguration and to update it automatically in response to any changes,such as, for example, changes to access phone numbers or theavailability of additional new phone numbers.

In another embodiment, the automatic configuration logic at the clientapplication also enables the automatic setting of the user's existingprogrammed “speed dial” key, or other key or button programmed forconnecting to voice mail, on the user's phone to the access number forthe selected voice messaging service. For example, a user may haveprogrammed the “1” key to act as a “speed dial” key to retrieve voicemail if it is held down for a specified period of time. In anotherembodiment, the client application may provide a certain key or buttonto access voice mail. In yet another embodiment, the mobile device mayrequire the user to access a menu or series of menus to obtain aselection for retrieving voice mail. The user may access the voice mailselection on the specific menu by viewing the mobile device's userinterface and using “arrow” or other keys or buttons to maneuver throughthe various menus or menu options. Any number of types of voice mailaccess buttons, keys, menus, or menu options as known to or understoodby those of ordinary skill in the art may be automatically configured toretrieve voice mail at the selected voice messaging service, or UMserver, in accordance with embodiments of the present disclosure. Asnoted, while a UM server is described in embodiments herein, any type ofvoice messaging service or server(s) as reasonably known to orunderstood by those of ordinary skill in the art may be used inaccordance with embodiments disclosed herein. For example, the voicemessaging service, or message server, may be a MICROSOFT® ExchangeServer or any other type of message server known in the art by those ofordinary skill. While a UM server and MICROSOFT® Exchange Server aredescribed, these are offered for purposes of illustration only. Anynumber of types of servers as known to or understood by those ofordinary skill in the art may be used without departing from the spiritand scope of the embodiments disclosed herein.

In a further embodiment, where the UM server provides a changed accessand/or forwarding number to the client application, the clientapplication is configured to automatically handle such new number(s),such as by re-configuring the speed dial or other voice mail access keysto reflect the new access number.

Where a client application has configured a mobile device to forward andaccess a particular voice mail server for voice messaging over themobile device operator's voice messaging source, for example,embodiments relate to automatically providing for the “rollback” of suchforwarding to the original voice messaging source upon the terminationor disabling of the service. For example, if a user changes his/herplace of employment and does not have access to the selected UM server,the server may inform the client application that it is no longeravailable. The client application is then configured to automaticallyrevert to the original source for voice mail forwarding and storage. Forexample, busy, unanswered, and/or unavailable phone calls may return tobeing forwarded to the mobile operator network's server, or server farm,for receipt, storage, and download at the client application from theserver upon demand, e.g, upon request of the user. In anotherembodiment, the voice mail messages may be stored locally at the mobiledevice system. Such reverting to the original source may occur for anynumber of reasons. By way of example only, a user may not pay his/herinvoice for a particular UM service and such service may then beinterrupted or terminated. Alternatively, the UM server may be disabledor the user may simply decide that he/she does not prefer the UM serverfeatures or may desire to have separate voice messaging systems forprivacy or security concerns.

An exemplary environment 100 for integrating voice mail onto a single UMservice by using logic at the UM server and the client application toautomatically configure the provisioning of such service, the forwardingof voice mails, and the retrieval of voice mail messages on the mobiledevice is shown in FIG. 1 in accordance with an embodiment disclosedherein. In a particular embodiment, client application 102 on mobiledevice 104 communicates with a server, e.g., UM server, or server farm106. Server 106 is capable of receiving voice mails. Server 106 is alsocapable of providing a phone number(s) to forward voice mails for theparticular mobile device user 108. Server 106 is also capable ofproviding a phone number(s) to access voice mail messages stored atserver 106.

Client application 102 provides identification and registrationinformation for provisioning the user's account for use of the voicemessaging service, e.g., registering the user for such services, throughtransmittal of a data packet 112 to server 106 across network 116. Thisdata packet 112 includes, in an embodiment, the mobile deviceidentification number 110 and mobile operator network identificationnumber 114. Any type of information necessary or desired forprovisioning the service as known to or understood by those of ordinaryskill in the art may be included in data packet 112 in accordance withembodiments disclosed herein. Such provisioning enables the server 106to provide a voice mailbox that is unique for user 108. In anotherembodiment, data packet 112 also includes voice mails (not shown). Uponregistering user 108 and corresponding client application 102, server106 transmits data packet 112 to client application 102 across network116 (shown as also transmitting across network 126). In an embodiment,data packet 112 comprises mobile device identification number 110, aphone number(s) for forwarding 122 voice mails 124 to server 106, and aphone number(s) for accessing voice mails 118 forwarded thereto andstored thereon. Thus, in an embodiment, data packet 112 comprises voicemail messages 124 stored on server 106 and retrieved by clientapplication 102 for downloading onto mobile device 104. Data packet 112may also contain other data, as known to or understood by those ofordinary skill in the art in accordance with embodiments disclosedherein, and as shown by “Other” 120.

Upon receiving the access and forwarding numbers in data packet 112 fromserver 106, client application 102 communicates with mobile operatornetwork 128 over mobile network 126. Mobile operator network 128 mayhave its own proprietary voice mail system (not shown). However, inexemplary logical environment 100, user 108 has selected server 106 toprovide voice mail service to mobile device 104 and client application102.

It is worth noting at the outset that FIG. 1 is merely an example of anenvironment for practicing the present disclosure. For example, FIG. 1shows UM server 106, or UM server farm 106. However, embodiments alsocover any type of server, separate servers, server farm, or other voicemessaging system or systems, for providing voice messaging services.Further yet, FIG. 1 shows mobile device 104. However, any type of smallcomputer device, including any phone having data access, may be used asis reasonably known to or understood by those of ordinary skill in theart without departing from the spirit and scope of the embodimentsdisclosed herein. Indeed, mobile operator network 128, mobile device104, client application 102, user 108, and UM server 106 are valid waysof practicing embodiments disclosed herein but are in no way intended tolimit the scope of the disclosure herein. Further, the exemplary networkenvironment 100 may be considered in terms of the specific componentsdescribed, e.g., server, mobile device computing system, etc., or,alternatively, may be considered in terms of the analogous modulescorresponding to such units.

Although only one mobile device 104 and client application 102 areshown, for example, another embodiment provides for multiple smallcomputer devices to communicate with UM server 106. In an embodiment,each small computer device communicates with the same mobile operatornetwork 128, or, in other embodiments, multiple and separate mobileoperator networks communicate with the small computer devices. In yetanother embodiment, each small computer device communicates with aseparate mobile operator network. Logical environment 100 is not limitedto any particular implementation and instead embodies any computingenvironment upon which the functionality of the environment describedherein may be practiced. Further, network 116, although shown as asingle network may be any type of network conventionally known to orunderstood by those of ordinary skill in the art. In accordance with anexemplary embodiment, the network may be the global network (e.g., theInternet or World Wide Web, i.e., “Web” for short). It may also be alocal area network, e.g., intranet, or a wide area network. Inaccordance with embodiments of the present disclosure, communicationsover networks 116 occur according to one or more standard packet-basedformats, e.g., H.323, IP, Ethernet, and/or ATM. Further, mobile network126 may use any kind of format reasonably known to or understood bythose of ordinary skill in the art. Thus, any conceivable environment orsystem may be understood by those of ordinary skill in the art inaccordance with embodiments disclosed herein. FIG. 1 is offered as anexample only for purposes of understanding the teachings of the presentdisclosure and is in no way intended to be limiting.

While FIG. 1 shows mobile device 104 and UM server 106, FIG. 2 shows thesoftware functional modules and storage means in logical environment 200corresponding to such computing units for automatically configuringregistration, forwarding of calls, and speed dial capabilities inaccordance with embodiments disclosed herein. In exemplary embodiments,client application 102 on mobile device 104 includes a communicationmodule 202 for communicating with server 106 for provisioning theaccount of mobile device 104 and user 108 for obtaining voice messagingservices from UM server 106. Communication module 202 both receives andtransmits information and data packets to server 106. For example,communication module 202 sends identification information for mobiledevice 104, such as mobile device 104's phone number, and voice mails.Configuration module 204 allows client application 102 to receive andsend data to server 106 regarding the appropriate access and forwardingphone numbers for voice mails to be serviced by server 106. In anembodiment, configuration module 204 also allows client application 102to receive and send data to mobile operator network 128 regarding theaccess number(s) and forwarding phone number(s) received from server 106when user 108 has selected server 106 for providing its voice messagingservices. In another embodiment, configuration module 204 enables clientapplication 102 to receive and transmit data to mobile operator network128 for automatically configuring “speed dial” key(s), button(s),menu(s), or menu option(s) on mobile device 104 for retrieving voicemails from server 106, e.g., requesting voice mails in the voice mailboxidentified for user 108 to be downloaded from server 106 to mobiledevice 104. Playback component 206 provides for such voice mails to beplayed back to user 108 using output device(s) on mobile device 104. Inanother embodiment, user 108 views text messages translated from server106 of voice mails on a user interface on mobile device 104 through theuse of user interface module 208. In yet other embodiments, userinterface module 208 enables user 108 to select voice mail retrieval,accept voice mail service by server 106, etc.

Identification information and other data for provisioning mobile device104 for receiving voice messaging services from server 106 is stored onexemplary database 210 in accordance with an embodiment as disclosedherein. In embodiments, database 210 stores any type of data forexecuting the client application. For example, database 210 may storedata for communicating with mobile operator network 128. In anotherembodiment, database 210 stores data necessary for configuring mobiledevice 104 to process the access phone number(s) and forwarding phonenumber(s) received from server 106 and to program user 108's speed dialkey or other feature to retrieve voice mails using such access phonenumber(s). Other or additional modules and/or components as known to orunderstood by those of ordinary skill in the art may be included, asdesignated by ellipses 212.

In communicating with mobile device 104, server 106 includesregistration module 214 for processing the identification informationand data provided by user 108 and client application 102 forprovisioning an account for user 108 for storing user 108's voice mailsin a unique mailbox. Registration module 214 receives this data andinformation from user 1′08 through the use of communication module 216in accordance with an embodiment disclosed herein. Communication module216 receives and transmits information and data packets to and frommobile device 104. For example, in an embodiment, communication module216 transmits access and forwarding phone numbers to client application102.

In determining the access and forwarding phone numbers to send to clientapplication 102 based on the identification information provided foruser 108, server 106 employs configuration module 218 to determine theappropriate access and forwarding numbers based on client application102's area code, country code, etc. In an embodiment, configurationmodule 218 thus uses identification information provided at registrationmodule 214 and programmed logic to determine these access and forwardingnumbers such that user 108's voice mails are sent and stored at a voicemailbox unique to user 108. According to an embodiment, configurationmodule 218 stores and retrieves access and forwarding numbers fromdatabase 222. In embodiments, configuration module 218 configures server106 in how to communicate with mobile device 104.

In a particular embodiment, server 106 includes translation engine 220to translate messages sent to client application 102 to a certainformat. For example, in one aspect of an embodiment, translation engine220 receives a recorded voice mail message and translates it into a datafile including text to send to client application 102 as a visuallyviewable message to be read through user interface module 208 at mobiledevice 106. In another example aspect, translation engine 220 changesthe format of an email message from rich text format to XML, forexample, before sending it to client application 102. Any number oftypes of translations may occur as known to or understood by those ofordinary skill in the art in accordance with embodiments of the presentdisclosure. Further, other or additional modules and/or components asknown to or understood by those of ordinary skill in the art may beincluded, as designated by ellipses 224. While any means of storage ormemory may be used as known to or understood by those of ordinary skillin the art, databases 210 and 222 are shown as exemplary storage means.

While FIG. 2 shows specific modules, module names, and storage means,these modules and storage means are offered for purposes ofillustration. As noted, any number of types of modules and storage meansas reasonably known to or understood by those of ordinary skill in theart may be included. Further, not all modules and/or storage means asdepicted in FIG. 2 need be used in accordance with embodiments of thepresent disclosure. Rather, fewer modules may be used in accordance withembodiments disclosed herein. Further yet, additional modules and/orstorage means may be used in accordance with other embodiments. Thus,FIG. 2 is intended in no way to be limiting to those modules, modulenames, and storage means shown. Any number of types of modules,components, storage means, etc. may be used as reasonably known to orunderstood by those of ordinary skill in the art in accordance withembodiments disclosed herein.

While FIG. 2 shows the functional software components for using thelogic on client application 102 and server 106 to automaticallyconfigure, send, and receive access and forwarding numbers in accordancewith embodiments, FIG. 3 depicts the operational steps 300 forautomatically configuring, sending, and receiving access and forwardingnumbers between client application 102 and server 106 in accordance withembodiments disclosed herein. Start operation 302 is initiated andprocess 300 proceeds to inform operation 304 in which client application102 begins communications with server 106, informing server 106 that itis capable of having server 106 handle its voice messaging for it and iscapable of configuring itself to enable such service, according to anembodiment disclosed herein. Client application 102 thus informs server106 that it is enabled for such a forwarding service. In embodiments,the determination of whether the user is enabled or not for suchforwarding to the particular or enhanced voice messaging service isdetermined by consulting a locally stored flag(s) indicating whethersuch forwarding is possible for the user. A “flag” is offered here byway of example only. Any type of mechanism for tracking the user'senablement and capabilities as known to or understood by those ofordinary skill in the art may be used. Query operation 306 promptsserver 106 to determine if it is able to support this service. If NO,flow branches NO to end operation 308 and process 300 terminates suchthat client application 102 is not able to select server 106 to handleits voice messaging service. If server 106 supports this service, flowbranches YES to user agreement query 310 in which it is determinedwhether user 108 accepts this service. In an embodiment, user 108accepts this service by responding affirmatively to a prompt at his/heruser interface on mobile device 104 through user interface module 208.In another embodiment, user 108 “accepts” this service by agreeing to anoverall service contract with his/her mobile operator that covers thisservice in the broad umbrella of services it provides to user 108 in acontract for such services, for example. If acceptance is not indicated,flow branches NO to end operation 312 and process 300 terminates at endoperation 312. For example, user 108 may desire to have a server handleits voice messaging service other than a server or servers at the mobileoperator network 128. However, user 108 may not be paying the requiredfees to have the UM server provide such a service. In such anembodiment, acceptance would not occur and process 300 terminates at endoperation 312. On the other hand, if acceptance is indicated, flowbranches YES to send client phone number operation 314 in which theclient enters and transmits its phone number, e.g., mobile device phonenumber, to server 106. In an embodiment, the client also sends otheridentification information for registering, or provisioning an account,for a unique voice mailbox for user 108 with server 106.

In optional query step 316, server 106 may query the client to verify ifthe phone number and/or other identification information receivedmatches the identity of client 102. In other words, server 106 asksclient 102 to validate that the client is the rightful owner of thephone number given according to embodiments disclosed herein. Thissecurity query to validate ownership of the received phone number mayprevent an individual or entity from fraudulently using incorrect phonenumbers to block others from obtaining service for their rightful phonenumbers. Query 316 may involve a single security question in accordancewith an aspect of an embodiment or multiple security questions inaccordance with another aspect. If client application 102 fails toanswer the security query correctly, process 300 branches NO tohold/quarantine operation 318, in which the client is placed in aquarantine state until it answers other security questions, for example,correctly in accordance with an embodiment. In another embodiment, querystep 316 does not validate ownership of the phone number received but,instead, queries if the user identified has exceeded a defined limit ofphone numbers for registration with server 106. Yet another embodimentprovides for such validation through the use of SMS message(s) andshared secrets, while another embodiment provides for using a callbackmechanism with or without shared secrets to verify the phone number. Inan embodiment, the voice messaging service handles suchsecurity/validation queries. In another embodiment, a separate ormultiple separate end points different from the service could implementsuch a security check. If client application 102 answers correctly tosecurity query 316, process 300 branches YES to register and set query320, in which the number is set at server 106 and client 102 isregistered if the number given is available and other identificationinformation is provided, if required.

As noted, process 300 may proceed to register and set query 320 directlyin response to receiving the client phone number in operation 314 giventhat operations 316 and 318 are optional steps. If the server may notset the given number or otherwise register user 108, process 300proceeds NO to inform operation 321, in which user 108 is informed thatthe registration process has failed. If the registration and setting ofthe number is successful, process 300 proceeds next to operation 322, inwhich server 106 responds with access and forwarding phone numbers 322.At operation 322, server 106 sends an access phone number(s) andforwarding number(s) to client application 102 so that clientapplication 102 can work with the mobile operator in configure operation324 to configure, or set up, the forwarding of particular phone calltypes, e.g., unanswered, busy, unavailable, to the service in accordancewith an embodiment disclosed. Continuing to configure retrievaloperation 326, client application 102 configures the retrieval of voicemails from the voice messaging service with the received access phonenumber. In an embodiment, this configuration includes configuring theexisting speed dial key(s), or other key(s), button(s), menu(s), or menuoption(s), to use such access phone number.

Having configured the set-up of the service for client application 102,process 300 flows to operation 328 where voice mails received for clientapplication 102 are forwarded to server 106. Next, client application102 accesses these voice mails 330 using the programmed access phonenumber and/or speed dial key, button, menu, or menu options forretrieving voice mail in accordance with embodiments disclosed herein.Process 300 then terminates at end operation 332.

It should be noted that process 300 accomplishes the configuration forusing the voice messaging service for user 108's voice mails and settingup of such features, such as modifying the existing speed dial key toretrieve voice mails from the service, for example, without any userinteraction other than the user's acceptance, or implied acceptance, toreceive such service at operation 310. The configuration stepsautomatically occur following this acceptance. As with FIG. 1, FIG. 3 ismerely an example of possible operational characteristics for theautomatic configuration process in accordance with embodiments disclosedherein. Operational steps depicted may be combined into other steps, oradditional steps may be added, for example, without departing from thespirit and scope of the embodiments disclosed herein. For example,additional steps may be added to inform the user of errors, such aswhere forwarding of voice mails is not configured properly or where theserver is disabled, according to embodiments. In an embodiment, a pop-updialogue or other user interface feature may inform the user that thenumber given to the server cannot be registered, for example. In anaspect of an embodiment, the user may be prompted to enter another phonenumber and/or, in another aspect, may be informed of the error.

Turning to FIG. 4, process 400 depicts the operational steps formonitoring and updating access and/or phone numbers and reverting backto the user's original source for voice mails in accordance withembodiments disclosed herein. Start operation 402 is initiated andprocess 400 proceeds to query operation 404 where client application 102prompts server 106 to determine if server 106 is still handling thevoice mail service for client application 102. While operation 404 showsclient application 102 prompting the server for a status query, anotherembodiment does not require client application 102 to initiate suchprompting. Instead, server 106 informs client application 102 that theconfiguration settings and/or access phone numbers and/or forwardingphone numbers, for example, have changed. In such an embodiment, process400 skips directly to operation 406 if the server is disabled orotherwise not continuing to provide service to client application 102or, in another embodiment, process 400 skips to operation 410, in whichchanges at server 106 are sent to client application 102. Process 400then proceeds from operation 410.

In the embodiment where client application 102 prompts server 106 todetermine if it is still handling the voice mail service for clientapplication 102, server 106 responds. If server 106 responds that it isnot handling the service and/or that client application 102 is no longerallowed to obtain such service, for example, process 400 branches NO torevert back operation 406, in which the voice mail service isautomatically reverted back, or rolled back, to the original serviceprovided by the client's mobile operator. Voice mails are thenautomatically forwarded back to the mobile operator's voice mailservice, and the user's mobile device 104 will automatically revert tothe original voice mail settings. In another embodiment, the clientapplication configuration module 204 may be used to instead direct thatthe mobile operator's voice mails be sent to a service other than theserver 106 by entering the other service's voice mail access number(s).Indeed, in accordance with embodiments, the user 108 may direct thatvoice mails be sent to another service at any time by manually enteringthe desired service's voice mail access numbers(s). Where a rollbackoccurs, such a rollback may occur, for example only, where user 108fails to pay for the service of having his/her voice mails forwarded toserver 106. Such reason is offered by way of example only. A person ofordinary skill in the art would understand that there are a number ofreasons that the service could be terminated or that the user 108'srelationship with the voice messaging service could be ended or changed.

Continuing to process 400, if server 106 responds that it is stillproviding services to client application 102, process 400 branches YESto step 408, in which client application 102 may query server 106 todetermine if the access and/or forwarding phone numbers have changed inaccordance with an embodiment disclosed herein. For example, server106's pool of phone numbers may increase or decrease over time and thusrequire client application 102 to change its configurations to adapt tothese changes. Thus, in another embodiment, monitor operation 408determines if any configuration of the service has changed. If thenumbers or configuration have not changed, process 400 branches NO toquery operation 404 where the client continues to periodically check inwith server 106 to verify that it is handling the voice messagingservice for client application 102. If configurations or access and/orforwarding phone numbers have changed, process 400 branches YES to sendthe changes, e.g., new phone number(s), operation 410, in which server106 responds by sending the new phone number(s) to client application102. Upon receiving these changes/new phone number(s), clientapplication initiates the automatic configuration 412 discussed abovefor processing these new phone number(s)/changes. After configuring forthe new phone number(s)/changes, process 400 proceeds to query operation404 where client application 102 periodically queries server 106 todetermine if it is still continuing to provide it with voice messagingservices. As with the above FIGS., FIG. 4 is merely an example ofpossible operational characteristics for the automatic configuration andmonitoring/update process in accordance with embodiments disclosedherein. Operational steps depicted may be combined into other steps, oradditional steps may be added. For example, a pop-up dialogue or otheruser interface communication or feature may inform the user that theserver is disabled and that forwarding of the user's voice mails to theparticular server has stopped. Another pop-up or other dialogue may theninform the user that the user's messages and settings are being revertedto those of the mobile operator carrier, in accordance with embodiments.

Turning to FIG. 5, an exemplary user interface for agreeing to use anenhanced voice messaging service for the handling of the user's voicemail and the providing of the client's phone number to such service isshown in user interface 500 in accordance with an embodiment disclosedherein. Description 502 shows the user that he/she may set up enhancedvoice mail on his/her mobile device in one step. The user is directed toenter or validate his/her phone number 504 in field 506 and to then hitthe “Continue” button 508 to start the registration and configurationprocesses. As noted, in an aspect of an embodiment, the user is directedto validate his/her phone number instead of entering it 504. In such anembodiment, the phone number in box 506 may already be pre-filled in, orautomatically populated, by the mobile device, or, in an aspect of anembodiment, by the client application. The user in such an embodimentneed only confirm that the number is correct and then proceed to clickon the “Continue” button 508 to start the registration and configurationprocess. In another embodiment (not shown), the user does not see thephone number 506 automatically populated at box 506 but, instead, issimply asked whether he/she desires the enhanced voice mail to be setup. User interface 500 is offered for purposes of illustration only. Anynumber of type of user interfaces, queries, text boxes, check boxes,etc., as known to or understood by those of ordinary skill in the artmay be used in accordance with embodiments disclosed herein.

Returning to FIG. 5, if the user has questions regarding this set-up orservice, he/she may select “Menu” 510, in which the user may chooseoptions, such as to learn more about the enhanced voice mail messagingservice, to be reminded of this service and set-up later, to decline theservice, to notify the mobile device to not ask this set-up questionagain, etc. Any number of types of options may be included in “Menu” 510as known to or understood by those of ordinary skill in the art inaccordance with embodiments. Further, user interface 500 is an exampleonly of the type of user interface which may be displayed to user 108.Any number of types of user interfaces known to or understood by thoseof ordinary skill in the art may be used in accordance with embodimentsdisclosed herein. For example, user interface 500 may instead appear tothe user as an abbreviated “pop-up” type dialogue asking the user ifhe/she would like to forward his/her voice mails to an enhanced voicemail service. A series of pop-up dialogues could then appear on theuser's interface, such as to ask the user to enter his/her phone number,etc. In other embodiments, the user does not need to enter his/her phonenumber because the client application already knows this number and canpopulate the entry field directly, or may simply send the number to thevoice mail messaging service without showing this transmittal to theuser. Further yet, no user interface may be used in some embodiments,such as where the user does not need to formally “agree” to the service,but instead may use the service under the general umbrella of the user'scontract with his/her mobile operator/carrier.

Finally, FIG. 6 illustrates an exemplary computing system 600 upon whichembodiments disclosed herein may be implemented. A computer system 600,such as mobile device 104 or server 106, which has at least oneprocessor 602 for automatically configuring the forwarding of voicemails shown in FIG. 1, is depicted in accordance with embodimentsdisclosed herein. The system 600 has a memory 604, in which a voice mailand/or phone number, such as access or forwarding number, for example,618 (or 620 or 622) is located. In its most basic configuration,computing system 600 is illustrated in FIG. 6 by dashed line 606.Additionally, system 600 may also include additional storage (removableand/or non-removable) including, but not limited to, magnetic or opticaldisks or tape. Such additional storage is illustrated in FIG. 6 byremovable storage 608 and non-removable storage 610. Computer storagemedia includes volatile and nonvolatile, removable and non-removablemedia implemented in any method or technology for storage of informationsuch as computer readable instructions, data structures, program modulesor other data. Memory 604, removable storage 608 and non-removablestorage 610 are all examples of computer storage media. Computer storagemedia includes, but is not limited to, RAM, ROM, EEPROM, flash memory orother memory technology, CD-ROM, digital versatile disks (DVD) or otheroptical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the automatic configuration information, for example,and which can be accessed by system 600. Any such computer storage mediamay be part of system 600. Depending on the configuration and type ofcomputing device, memory 604 may be volatile, non-volatile or somecombination of the two. With respect to memory 604, the voice mails,access phone numbers, forwarding phone numbers, andidentification/registration information of embodiments disclosed hereincould be in system memory 618, volatile memory 620, or non-volatilememory 622 in accordance with embodiments of the present disclosure. Theillustration in FIG. 6 is intended in no way to limit the scope of thepresent disclosure. Communication media typically embodies computerreadable instructions, data structures, program modules or other data ina modulated data signal such as a carrier wave or other transportmechanism and includes any information delivery media. The term“modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationmedia includes wired media such as a wired network or direct-wiredconnection, and wireless media such as acoustic, RF, infrared and otherwireless media. Combinations of any of the above should also be includedwithin the scope of computer readable media.

System 600 may also contain communications connection(s) 616 that allowthe device to communicate with other devices. Additionally, to inputcontent into the fields of the UI on mobile device 104 as provided by UImodule 208 in accordance with an embodiment disclosed herein, system 600may have input device(s) 614 such as a keyboard, mouse, pen, voice inputdevice, touch input device, etc. Output device(s) 612 such as a display,speakers, printer, etc. may also be included, in which such devices maybe used to display the UI for viewing voice mail messages, selectingretrieval of voice mail, accepting a prompt to obtain the voice mailservices of a particular UM server, etc., in accordance with embodimentsof the present disclosure. All of these devices are well known in theart and need not be discussed at length here.

Having described embodiments of the present disclosure with reference tothe figures above, it should be appreciated that numerous modificationsmay be made to the present disclosure that will readily suggestthemselves to those skilled in the art and which are encompassed withinthe scope and spirit of the embodiments disclosed and as defined in theappended claims. Indeed, while embodiments have been described forpurposes of this disclosure, various changes and modifications may bemade which are well within the scope of the present disclosure.

Similarly, although this disclosure has used language specific tostructural features, methodological acts, and computer-readable mediacontaining such acts, it is to be understood that the subject matterdefined in the appended claims is not necessarily limited to thespecific structure, acts, features, or media described herein. Rather,the specific structures, features, acts, and/or media described aboveare disclosed as example forms of implementing the claims. Aspects ofembodiments allow for multiple client applications, multiple data packettypes, etc. Or, in other embodiments, a single client application with asingle server and single mobile operator network are used. One skilledin the art will recognize other embodiments or improvements that arewithin the scope and spirit of the present disclosure. Therefore, thespecific structure, acts, or media are disclosed as exemplaryembodiments of implementing the present disclosure. The disclosure isdefined by the appended claims.

What is claimed is:
 1. A method of automatically configuring a singlevoice messaging service for handling phone calls directed to one or moredifferent voice messaging systems of a user, comprising: receiving afirst phone number to register to the single voice messaging service,wherein the first phone number is directed to a first voice messagingsystem; receiving a second phone number to register to the single voicemessaging service, wherein the second phone number is directed to asecond voice messaging system; automatically configuring the first phonenumber for forwarding voice mails to the single voice messaging serviceand for retrieval of voice mails from the single voice messaging serviceand not from the first voice messaging system; automatically configuringthe second phone number for forwarding voice mails to the single voicemessaging service and for retrieval of voice mails from the single voicemessaging service and not from the second voice messaging system; andautomatically overwriting an existing speed dial directed to the firstvoice messaging system to be redirected to the single voice messagingservice.
 2. The method as defined in claim 1, wherein the single voicemessaging service is a Unified Messaging service.
 3. The method asdefined in claim 1, wherein automatically configuring the existing speeddial associated with the first voice messaging system comprisesconfiguring the existing speed dial on a user mobile device associatedwith the first voice messaging system to use an access phone numberreceived from the single voice messaging service.
 4. The method asdefined in claim 3, wherein a client application on the user mobiledevice automatically configures the forwarding of voice mails andretrieval of the voice mails associated with the first phone number. 5.The method as defined in claim 4, wherein the automatic configurationoccurs between the client application and a mobile operator of theclient application.
 6. The method as defined in claim 1, whereinownership by the user of the first phone number and the second phonenumber is validated by the single voice messaging service.
 7. The methodas defined in claim 1, further comprising: sending an indication toterminate use of the single voice messaging service; and automaticallyreverting forwarding of voice mails associated with the first phonenumber to a voice mail service provided by a mobile operator.
 8. Themethod as defined in claim 7, further comprising automatically revertingto the original voice mail settings on a mobile device of the user. 9.The method as defined in claim 1, further comprising: providing aforwarding phone number for the single voice messaging service; andautomatically updating the forwarding phone number if the forwardingnumber changes.
 10. A computer storage device encoding computerexecutable instructions for performing a method of using a single voicemessaging service for handling phone calls directed to one or moredifferent voice messaging systems of a user, wherein the single voicemessaging system comprises a server capable of receiving voice messages,the method comprising: receiving an indication to automaticallyconfigure the single voice messaging service for handling phone callsdirected to a first voice messaging system and a second voice messagingsystem of the user; registering a first phone number to the single voicemessaging system, wherein the first phone number is directed to thefirst voice messaging system; registering a second phone number to thesingle voice messaging system, wherein the second phone number isdirected to the second voice messaging system; automatically configuringthe first phone number for forwarding voice mails to the single voicemessaging service and for retrieval of voice mails from the single voicemessaging service and not from the first voice messaging system;automatically configuring the second phone number for forwarding voicemails to the single voice messaging service and for retrieval of voicemails from the single voice messaging service and not from the secondvoice messaging system; and automatically overwriting an existing speeddial directed to the first voice messaging system to be redirected tothe single voice messaging service.
 11. The computer storage device asdefined in claim 10, wherein the single voice messaging service is aUnified Messaging service.
 12. The computer storage device as defined inclaim 10, wherein ownership by the user of the first phone number andthe second phone number is validated by the single voice messagingservice prior to registration of the first phone number and the secondphone number.
 13. The computer storage device as defined in claim 10,wherein a forwarding phone number for the single voice messaging serviceis received by a client application on a mobile device of the user. 14.The computer storage device as defined in claim 10, wherein theindication to automatically configure the single voice messaging servicecomprises a positive response to a query regarding whether the useragrees to services provided by the single voice messaging service. 15.The computer storage device as defined in claim 10, wherein theindication of acceptance comprises an agreement to the terms of theservices provided by the single voice messaging service, and wherein theagreement exists in a contract between the user and a mobile operator.16. A computing system, comprising: at least one processor; and at leastone memory communicatively coupled to the at least one processor andcontaining computer-readable instructions that, when executed by the atleast one processor, perform a method of automatically configuring asingle voice messaging service for handling phone calls directed to oneor more different voice messaging systems of a user, the methodcomprising: registering a first phone number to the single voicemessaging service, wherein the first phone number is directed to a firstvoice messaging system; registering a second phone number to the singlevoice messaging service, wherein the second phone number is directed toa second voice messaging system; automatically configuring the firstphone number for forwarding voice mails to the single voice messagingservice and for retrieval of voice mails from the single voice messagingservice and not from the first voice messaging system; automaticallyconfiguring the second phone number for forwarding voice mails to thesingle voice messaging service and for retrieval of voice mails from thesingle voice messaging service and not from the second voice messagingsystem; and automatically overwriting an existing speed dial directed tothe first voice messaging system to be redirected to the single voicemessaging service.
 17. The computing system as defined in claim 16,wherein the automatic configuring occurs at a client application withoutuser interaction.
 18. The computing system as defined in claim 16,wherein automatically configuring the existing speed dial associatedwith the first voice messaging system further comprises configuring theexisting speed dial on a user mobile device associated with the firstvoice messaging system to use an access phone number received from thesingle voice messaging service.
 19. The computing system as defined inclaim 16, wherein ownership by the user of the first phone number andthe second phone number is validated by the single voice messagingservice prior to registration of the first phone number and the secondphone number.
 20. The computing system as defined in claim 16, whereinthe single voice messaging service is a Unified Messaging service.